package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.dto.GiftQueryDto;
import com.csun.cmny.provider.model.domain.OmcGift;
import com.csun.cmny.provider.validator.OmcConvertAddValidator;
import com.github.pagehelper.PageInfo;

import javax.validation.constraints.NotNull;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-05-23 10:14
 * @Description: the interface omc gift service
 */
public interface OmcGiftService extends IService<OmcGift> {

    /**
     * 保存礼品信息
     *
     * @param omcGift       omc gift
     * @param loginAuthDto  login auth dto
     *
     * @return  the int.
     */
    Integer saveGift(OmcGift omcGift, LoginAuthDto loginAuthDto);

    /**
     * 分页查询礼品信息
     *
     * @param giftQueryDto  gift query dto
     *
     * @return  the page info.
     */
    PageInfo queryGiftListWithPage(GiftQueryDto giftQueryDto);

    /**
     * 根据Id删除礼品信息
     *
     * @param id    礼品Id
     *
     * @return  the int.
     */
    Integer deleteGiftById(Long id);

    /**
     * 兑换礼品
     *
     * @param omcGift   omc gift
     *
     * @return  the int.
     */
    Integer convertGift(OmcGift omcGift);
}
